<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<%@ page import="sg.edu.nus.dbd.util.Constants"%>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
	if (((String) session.getAttribute("CurrentParameter"))
			.equals(Constants.SHARED_POOL_PARAM)) {
%>
Set following parameters in
<b>init.ora</b>
and restart instance.
<br />
<br />
<b>shared_pool_reserved_size</b>
: Controls the amount of SHARED_POOL_SIZE reserved for large
allocations. The fixed view V helps you tune these parameters. Begin
this tuning only after performing all other shared pool tuning on the
system.
<br />
<b>shared_pool_reserved_min_alloc</b>
: Controls allocation for the reserved memory. To create a reserved
list, SHARED_POOL_RESERVED_SIZE must be greater than
SHARED_POOL_RESERVED_MIN_ALLOC. Only allocations larger than
SHARED_POOL_RESERVED_POOL_MIN_ALLOC can allocate space from the reserved
list if a chunk of memory of sufficient size is not found on the shared
pools free lists. The default value of SHARED_POOL_RESERVED_MIN_ALLOC
should be adequate for most systems.
<br />
<br />
For more information, read
<a href="http://www.dba-oracle.com/m_shared_pool_free_%25.htm"
	target="_blank">here</a>
<%
	}
%>
<%
	if (((String) session.getAttribute("CurrentParameter"))
			.equals(Constants.BUFFER_CACHED_PARAM)) {
%>
The
<b>db_block_buffers</b>
parameter in the parameter file determines the size of the buffer cache
for the instance. The size of the buffer cache (in bytes) is equal to
the value of the
<b>db_block_buffers</b>
parameter multiplied by the data block size.
<br />
<br />
You can change the size of the buffer cache by editing the
<b>db_block_buffers</b>
parameter in the parameter file and restarting the instance.
<br />
<br />
For more information, read
<a
	href="http://www.dbspecialists.com/files/presentations/buffercache.html"
	target="_blank">here</a>
<%
	}
%>
<%
	if (((String) session.getAttribute("CurrentParameter"))
			.equals(Constants.REDO_LOG_BUFFER_PARAM)) {
%>
Increase the size of
<b>log_buffer</b>
in
<b>init.ora</b>
and restart the instance.
<br />
<br />
For more information, read
<a href="http://www.cryer.co.uk/brian/oracle/tuning_tlb.htm"
	target="_blank">here</a>
<%
	}
%>
<%
	if (((String) session.getAttribute("CurrentParameter"))
			.equals(Constants.SORT_MEMORY_PARAM)) {
%>
Amend
<b>sort_area_size</b>
or
<b>pga_aggregate_target</b>
in
<b>init.ora</b>
and restart the instance
<br />
<br />
For more information, read
<a href="http://www.dba-oracle.com/m_in_memory_sort_ratio.htm"
	target="_blank">here</a>
<%
	}
%>
<%
	if (((String) session.getAttribute("CurrentParameter"))
			.equals(Constants.ROLLBACK_SEGMENT_PARAM)) {
%>
1. If your users are doing heavy DML operations make sure there are
enough properly sized rollback segment extents to allow each user
performing DML to have a rollback segment extent without waiting.
<br />
<br />
2. If you expect heavy DML loads, have multiple rollback segment
tablespaces spread across multiple disk arrays.
<br />
<br />
3. Set the default sizing in a rollback segment tablespace such that you
can simply issue a CREATE ROLLBACK SEGMENT command specifying the
tablespace and you don't have to worry about the STORAGE specification.
<br />
<br />
4. Try to limit the number of simultaneous users per rollback segment to
four. Size rollback segments such that:
<br />
<br />
a. INITIAL=NEXT=size of average transaction
<br />
b. OPTIMAL=size of average large transaction (rounded up to the next
NEXT value)
<br />
c. MINIMUM EXTENTS = OPTIMAL/INITIAL.
<br />
<br />
5. For large batch transactions create special large extent rollback
segments in a separate tablespace from the other rollback segments, only
bring them online when needed and use SET TRANSACTION command to assign
them to specific transactions.
<br />
<br />
For more information, read
<a
	href="http://www.dba-oracle.com/concepts/tablespace_datafile_sizing.htm"
	target="_blank">here</a>
<%
	}
%>
<%
	if (((String) session.getAttribute("CurrentParameter"))
			.equals(Constants.REDO_LOG_FILE_PARAM)) {
%>
The
<b>log_buffer_size</b>
should be set to reduce the number of writes required per redo log but
not be so large that it results in an excessive IO wait time.
<br />
<br />
For more information, read
<a href="http://www.dba-oracle.com/concepts/redo_log_files.htm"
	target="_blank">here</a>

<%
	}
%>
</body>
</html>